Introdução
O dataset foi escolhido pela plataforma kaggle e trata de observações sobre o mercado automotivo online da Georgia no ano de 2024.
Conforme o schema apresentado a seguir o dataset apresenta diversos detalhes sobre as vendas, condições do carro e outrs detalhes mais específicos.
Para esse trabalho, com o intuito de enfatizar os processos e análises que foram aprendidos na disciplina, tomamos liberdade de manipular o banco fornecido no site e descartar variáveis não utilizadas no modelo.
Abaixo também apresentamos uma tabela com as variáveis que escolhemos enfatizar e serão tratadas no modelo linear simulado.
| app_id | price | car_run_km | prod_year | engine_volume | cylinders | airbags | abs_break | esd | el_windows | conditioner | leather | nav_system | model_name | category | man_id | man_name | category_num |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 108687133 | 16000 | 55600 | 2021 | 2000 | 4 | 6 | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | Mazda 3 | Sedan | 24 | Mazda | 36 |
| 108608289 | 13500 | 42500 | 2019 | 2000 | 4 | 6 | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | Mazda 3 | Sedan | 24 | Mazda | 36 |
| 106961361 | 134000 | 38000 | 2023 | 4400 | 8 | 9 | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | Range Rover | Jeep | 22 | Land Rover | 24 |
| 107494885 | 16500 | 49600 | 2016 | 2000 | 4 | 6 | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | SLC 300 | Cabriolet | 25 | Mercedes-Benz | 5 |
| 108126733 | 32000 | 20200 | 2021 | 3200 | 4 | 12 | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | Ranger | Pickup | 12 | Ford | 32 |
| 108901093 | 50000 | 42000 | 2022 | 3000 | 6 | 12 | TRUE | TRUE | TRUE | TRUE | FALSE | TRUE | S5 | Sedan | 2 | Audi | 36 |
Explorando o banco de dados
Estatísticas gerais
| price | car_run_km | prod_year | engine_volume | cylinders | airbags | esd | el_windows | conditioner | leather | nav_system | model_name | category | man_id | man_name | category_num | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mínimo | 0.00 | 0.000000e+00 | 0.00 | 0.00 | 0.00 | 0.00 | NA | NA | NA | NA | NA | NA | NA | 1.00 | NA | 1.00 |
| Máximo | 8388607.00 | 1.608998e+06 | 2025.00 | 20000.00 | 12.00 | 12.00 | NA | NA | NA | NA | NA | NA | NA | 1249.00 | NA | 45.00 |
| Mediana | 2000.00 | 1.077735e+05 | 2017.00 | 2200.00 | 4.00 | 12.00 | NA | NA | NA | NA | NA | NA | NA | 25.00 | NA | 36.00 |
| Média | 5995.44 | 1.205337e+05 | 2015.47 | 2436.38 | 4.61 | 9.36 | NA | NA | NA | NA | NA | NA | NA | 28.49 | NA | 29.99 |
| Variância | 765991983.88 | 1.037134e+10 | 533.59 | 1297893.57 | 3.04 | 14.13 | NA | NA | NA | NA | NA | NA | NA | 2832.02 | NA | 51.95 |
| Desvio Padrão | 27676.56 | 1.018398e+05 | 23.10 | 1139.25 | 1.74 | 3.76 | NA | NA | NA | NA | NA | NA | NA | 53.22 | NA | 7.21 |
| Coeficiente de Variação | 4.62 | 8.400000e-01 | 0.01 | 0.47 | 0.38 | 0.40 | NA | NA | NA | NA | NA | NA | NA | 1.87 | NA | 0.24 |
Graficos das variaveis
Preço
Quilometragem
Ano do carro
Volume do motor
Cilindros
Airbags
Modelo Simples
Modelo Multivariado
Equação do modelo linear
A equação do modelo linear é dada por: \[ \text{price} = \beta_0 + \beta_1 \cdot \text{car_run_km} + \beta_2 \cdot \text{prod_year} + \beta_3 \cdot \text{engine_volume} + \beta_4 \cdot \text{cylinders} \]
#>
#> Call:
#> lm(formula = price ~ car_run_km + prod_year + engine_volume +
#> cylinders + category_num + airbags + abs_break + esd + el_windows +
#> conditioner + leather + nav_system + man_id + category_num,
#> data = data)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -33518 -4297 -1119 1695 8369007
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -3.197e+04 7.137e+03 -4.479 7.51e-06 ***
#> car_run_km -1.148e-02 8.346e-04 -13.756 < 2e-16 ***
#> prod_year 2.054e+01 3.548e+00 5.789 7.11e-09 ***
#> engine_volume 9.434e-01 1.012e-01 9.322 < 2e-16 ***
#> cylinders 7.150e+02 7.051e+01 10.140 < 2e-16 ***
#> category_num -1.215e+02 1.129e+01 -10.761 < 2e-16 ***
#> airbags -3.126e+02 2.745e+01 -11.388 < 2e-16 ***
#> abs_breakTRUE -2.767e+03 5.127e+02 -5.397 6.79e-08 ***
#> esdTRUE 8.920e+03 1.901e+02 46.911 < 2e-16 ***
#> el_windowsTRUE -2.804e+03 6.550e+02 -4.281 1.86e-05 ***
#> conditionerTRUE -3.398e+03 6.219e+02 -5.463 4.69e-08 ***
#> leatherTRUE -2.729e+02 1.363e+04 -0.020 0.984
#> nav_systemTRUE 1.896e+03 3.023e+02 6.272 3.57e-10 ***
#> man_id 2.018e+01 1.541e+00 13.092 < 2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 27250 on 115242 degrees of freedom
#> Multiple R-squared: 0.03058, Adjusted R-squared: 0.03047
#> F-statistic: 279.6 on 13 and 115242 DF, p-value: < 2.2e-16
#>
#> Call:
#> lm(formula = price ~ car_run_km + prod_year + engine_volume +
#> cylinders + category_num + airbags + abs_break + esd + el_windows +
#> conditioner + leather + nav_system + man_id + category_num,
#> data = data_filter)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -105878 -4902 -1565 2175 8319028
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -1.312e+06 6.440e+04 -20.369 < 2e-16 ***
#> car_run_km -2.011e-02 1.857e-03 -10.827 < 2e-16 ***
#> prod_year 6.524e+02 3.200e+01 20.391 < 2e-16 ***
#> engine_volume 2.611e+00 2.234e-01 11.688 < 2e-16 ***
#> cylinders 1.892e+03 1.682e+02 11.245 < 2e-16 ***
#> category_num -1.328e+02 2.217e+01 -5.989 2.13e-09 ***
#> airbags -4.093e+02 5.498e+01 -7.445 9.85e-14 ***
#> abs_breakTRUE 1.627e+03 8.223e+02 1.979 0.04785 *
#> esdTRUE 1.971e+02 7.173e+02 0.275 0.78353
#> el_windowsTRUE 1.150e+03 1.038e+03 1.108 0.26778
#> conditionerTRUE -1.208e+03 9.816e+02 -1.230 0.21863
#> leatherTRUE 1.306e+04 3.799e+04 0.344 0.73100
#> nav_systemTRUE 1.449e+03 5.350e+02 2.708 0.00676 **
#> man_id 9.643e+01 4.750e+00 20.302 < 2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 37990 on 54098 degrees of freedom
#> Multiple R-squared: 0.03934, Adjusted R-squared: 0.03911
#> F-statistic: 170.4 on 13 and 54098 DF, p-value: < 2.2e-16
#>
#> Call:
#> lm(formula = log(price) ~ car_run_km + prod_year + engine_volume +
#> cylinders + category_num + airbags + abs_break + esd + el_windows +
#> conditioner + leather + nav_system + man_id + category_num,
#> data = data_filter)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -3.9975 -0.3154 -0.0146 0.3067 6.6729
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -9.377e+01 9.865e-01 -95.056 < 2e-16 ***
#> car_run_km -1.144e-06 2.844e-08 -40.226 < 2e-16 ***
#> prod_year 5.075e-02 4.901e-04 103.550 < 2e-16 ***
#> engine_volume 2.214e-04 3.422e-06 64.687 < 2e-16 ***
#> cylinders 5.711e-02 2.577e-03 22.165 < 2e-16 ***
#> category_num -1.017e-02 3.396e-04 -29.935 < 2e-16 ***
#> airbags -1.817e-02 8.421e-04 -21.578 < 2e-16 ***
#> abs_breakTRUE 7.112e-02 1.259e-02 5.647 1.64e-08 ***
#> esdTRUE 1.414e-01 1.099e-02 12.871 < 2e-16 ***
#> el_windowsTRUE 3.666e-02 1.590e-02 2.306 0.02110 *
#> conditionerTRUE 4.036e-02 1.503e-02 2.684 0.00727 **
#> leatherTRUE 9.619e-01 5.819e-01 1.653 0.09836 .
#> nav_systemTRUE 2.335e-01 8.194e-03 28.501 < 2e-16 ***
#> man_id 9.598e-04 7.275e-05 13.193 < 2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 0.5819 on 54098 degrees of freedom
#> Multiple R-squared: 0.4713, Adjusted R-squared: 0.4711
#> F-statistic: 3709 on 13 and 54098 DF, p-value: < 2.2e-16
Interpretação dos Coeficientes
\(\beta_0\) (intercept) nos indica que o valor esperado quando do veículo quando car_run_km (quilometragem) e prod_year (ano de produção) são zero. Logo o beta_0 não tem interpretação prática pois o ano de produção não pode ser 0.
car_run_km (Quilometragem): Para cada quilômetro adicional rodado, o preço do veículo aumenta em média 0.0001871 unidades monetárias, mantendo todas as outras variáveis constantes.
Este coeficiente não é estatisticamente significativo (p-valor = 0.813).prod_year (Ano de produção): ara cada ano adicional de produção, o preço do veículo aumenta em média 2.676 unidades monetárias, mantendo todas as outras variáveis constantes.
Este coeficiente não é estatisticamente significativo (p-valor = 0.402).engine_volume (volume do motor) : Para cada unidade adicional no volume do motor, o preço do veículo aumenta em média 1.583 unidades monetárias, mantendo todas as outras variáveis constantes.
Este coeficiente é estatisticamente significativo (p-valor < 2e-16).cylinders (cilindro adicional): Para cada cilindro adicional, o preço do veículo diminui em média 362.5 unidades monetárias, mantendo todas as outras variáveis constantes.
Este coeficiente é estatisticamente significativo (p-valor = 6.31e-08).
Interpretação do teste F
F-statistic: 90.11
p-valor: < 2.2e-16
F-statistic: O valor de 90.11 indica que a variabilidade explicada pelo modelo é significativamente maior do que a variabilidade não explicada. Em outras palavras, o modelo como um todo é significativo.
p-valor: O p-valor é extremamente pequeno (< 2.2e-16), o que significa que a probabilidade de observar um valor de F tão extremo, ou mais extremo, sob a hipótese nula é praticamente zero.
Conclusão:
- Como o p-valor é muito menor que qualquer nível de significância comum (por exemplo, 0.05), rejeitamos a hipótese nula.
- Isso indica que pelo menos uma das variáveis independentes no modelo tem um efeito significativo sobre a variável dependente (preço do veículo).
- Portanto, o modelo de regressão linear é estatisticamente significativo e útil para prever o preço dos veículos com base nas variáveis incluídas
Voltando a equação…
\[ \text{price} = \beta_0 + \beta_1 \cdot \text{car_run_km} + \beta_2 \cdot \text{prod_year} + \beta_3 \cdot \text{engine_volume} + \beta_4 \cdot \text{cylinders} \] Substituindo os valores dos coeficientes estimados, temos:
\[ \text{price} = -1239 + 0.0001871 \cdot \text{car_run_km} + 2.676 \cdot \text{prod_year} + 1.583 \cdot \text{engine_volume} - 362.5 \cdot \text{cylinders} \]